I. Field of the Invention
This invention relates to the field of communications systems and, in particular, to the field of transmission of spread coded message signals within communications systems.
II. Description of the Prior Art
It is well known in the art of communications to mix message signals to be transmitted with spreading code vectors. The use of spreading code vectors permits the message signals to be combined, transmitted, and separated from each other after transmission. The most useful feature of a set of code vectors suitable for this purpose is that the spreading code vectors are mutually orthogonal. This permits a theoretical interference of zero between the message signals. The code vectors most commonly used for this purpose are Walsh code vectors.
The total number of binary code vectors having a length n is 2.sup.n. However, of the total number of binary vectors 2.sup.n within the total vector space, only n are mutually orthogonal. For example, when n=8 there are 256 different binary vectors. Only 8 of the 256 vectors are mutually orthogonal. Therefore, in a system wherein n=8 usually only 8 message signals can be combined and separated in this manner and only 8 users can be supported simultaneously. Likewise, if n=128 then 128 users can be supported simultaneously. Some of the vectors can be idle some of the time, thereby permitting more than n users to be serviced. However, the size of the code vectors still places a limitation on the size of the communications system.
A set W of code vectors w meeting the orthogonality requirement for a theoretical interference of zero can be represented as follows: ##EQU1##
wherein each vector w.sub.i is a column vector using a 0/1 alphabet or, equivalently, a -1/+1 alphabet. Hereinbelow, a set of code vectors using the 0/1 alphabet is expressed as W.sub.b,n and a set using the -1/+1 alphabet is expressed as W.sub.n.
Since all vectors w in the set W are orthogonal to each other, the dot product of any two vectors in the set must be zero. This can be represented as: EQU (w.sub.x,w.sub.y)=0
where x and y can have any values between 1 and n, x.noteq.y and (w.sub.x, w.sub.y) is equal to: ##EQU2##
Equivalently, the above can be expressed as the following matrix product: EQU w.sub.x.sup.T w.sub.y =0.
Also: EQU w.sub.x.sup.T w.sub.x =n.
In a mobile radio telephone communication system that uses spreading code vectors for transmission of message signals, where the with data symbol to be transmitted is represented as d.sub.i and the total number of transmit signals as k, the total transmission signal S transmitted by a base station to a mobile station is: ##EQU3##
The mobile station receives the total transmission signal S and tries to eliminate all message signals except its own.
In order to eliminate the other messages the mobile station can multiply signal S by the transpose of its own Walsh code vector. An example wherein i=1 is as follows: ##EQU4##
wherein the first term on the right side represents the wanted signal. The second term in the right side represents the interference from all of the remaining message signals mixed with their individual Walsh codes. Solving this equation yields: EQU w.sub.1.sup.T S=nd.sub.1 +0.
Thus, the separation of the transmitted message signals at the receiver depends on a zero correlation between the wanted signal and all of the other message signals.
In order to utilize communications systems as effectively as possible it is desirable to simultaneously transmit and separate as many message signals as possible. However, it is only possible to mix n message signals and separate them with zero interference because only n orthogonal vectors are available, as previously described. To overcome this limitation it is known to use quasi orthogonal functions. Quasi orthogonal vectors are vectors that are in addition to the n orthogonal vectors. Quasi orthogonal vectors have been selected from the remaining code vectors in the total binary 2.sup.n vector space in order to provide as little interference as possible. Specifically, quasi orthogonal vectors are selected to provide a level of interference that is within acceptable limits, even though the level of interference is not zero.
In order to select quasi orthogonal vectors a computer search can be performed within the total 2.sup.n vector space for binary (+1/-1 alphabet) masks. The masks can be applied to the orthogonal vectors to form a new set of vectors that are quasi orthogonal vectors. Applying a total of M masks to a set of Walsh code vectors w.sub.n, the number of quasi orthogonal functions produced is: (M+1)n. Applying a mask m to a code vector w.epsilon.W.sub.n includes a component by component multiplication of the mask m and the orthogonal code vector w to give the new code vector: EQU w.sub.m =w.multidot.m
The interference resulting from the use of the new code vectors can be tested and the code vectors that provide the lowest correlation can be selected to provide a set of quasi orthogonal vectors. A plurality of such masking functions can be found in order to provide a plurality of sets of quasi orthogonal vectors from a single set of orthogonal vectors. In order to permit message signals mixed with the quasi orthogonal vectors found by the computer search to be separated from each other, the quasi orthogonal vectors should be mutually orthogonal with respect to each other. There is a non-zero correlation between at least one code vector in the orthogonal set and one vector in the quasi orthogonal set.
Representing the quasi orthogonal vectors as v it can be shown that: ##EQU5##
The goal in picking quasi orthogonal vectors v is to pick the vectors such that
##EQU6##
is as small as possible.
Since their correlation is a useful measure of the amount of separation between vectors, the normalized correlation between two code vectors x and y can be defined as: ##EQU7##
The correlation between two orthogonal vectors is zero. A lower absolute value of correlation results in better separation between message signals mixed with the orthogonal vectors and the ones mixed with quasi orthogonal vectors. Better signal separation results in lower interference between the signals at the time of decoding.
The mean square correlation between orthogonal vectors and their corresponding quasi orthogonal vectors where n is a power of two is 1/n. The lower bound on the absolute value of correlation can be shown to have the value, 1/n. This quantity is referred to as the Holtzman lower bound. Masks have been found that meet the lower bound for cases wherein n is an even power of two. However, in cases where n is an odd power of two this bound has not been met with an equality. The lowest correlation found in the latter case is 2+L /n. Therefore, the interference of the best quasi orthogonal vectors found in the odd power of two case using the computer search technique is 2+L times the theoretical limit. Furthermore, with respect to any two sets of quasi orthogonal functions there is some non zero correlation between one pair of code vectors. The correlation between a pair of quasi orthogonal function sets is defined as the maximum absolute correlation between two such code vectors belonging to the two sets.
Thus it desirable to find additional quasi orthogonal vectors having lower correlation with the orthogonal vectors for the case wherein n is an odd power of two, in order to expand the capacity of communications systems while maintaining acceptably low amounts of interference.